Jak na ScreeShot
Otázka od: Jiri Virt
1. 12. 2003 12:28
Jak udelat kopii obrazovky, ale ne pres klipboard??
Diky
Jirka
Odpovedá: Bronislav Klucka
1. 12. 2003 14:18
>
> Jak udelat kopii obrazovky, ale ne pres klipboard??
>
>
tato funkce ti vrati bitmapu, ktera obsahuej okno, chces-li obrazovku,
WinHandle =0
Brona
function PSGetWindowScrShot(WinHandle:HWND):TBitmap;
var bCanvas:TCanvas;
BitRect:TRect;
begin
result:=TBitmap.Create;
if WinHandle=0 then
begin
result.Width:=Screen.Width;
result.Height:=Screen.Height;
end else
begin
GetClientRect(WinHandle,BitRect);
result.Width:=BitRect.Right-BitRect.Left;
result.Height:=BitRect.Bottom-BitRect.Top;
end;
BitRect:=rect(0,0,result.Width,result.Height);
bCanvas:=TCanvas.create;
bCanvas.Handle := GetDC(WinHandle);
result.Canvas.CopyRect(BitRect,bCanvas,BitRect);
bCanvas.Free;
end;
Odpovedá: Petr Vones
1. 12. 2003 14:40
From: "Jiri Virt" <virt@volny.cz>
> Jak udelat kopii obrazovky, ale ne pres klipboard??
Napriklad funkci ScreenShot v unitu JclGraphics:
http://sourceforge.net/project/showfiles.php?group_id=47514&release_id=118195
Petr Vones